草庐IT

PhpUnit 模拟 : function undefined

全部标签

PHPUnit 模拟 - 当方法调用 x 次时立即失败

使用PHPUnit,我正在使用->at()测试一系列方法调用,如下所示:$mock->expects($this->at(0))->method('execute')->will($this->returnValue('foo'));$mock->expects($this->at(1))->method('execute')->will($this->returnValue('bar'));$mock->expects($this->at(2))->method('execute')->will($this->returnValue('baz'));如何设置模拟,以便在上述情况下,如

php - 是否可以在不扩展 PHPUnit_Framework_TestCase 的情况下使用 PHPUnit 断言?

也许这个问题看起来很奇怪,但这是我要解决的问题...首先,请记住我更像是一个习惯使用PHP的Java开发人员,所以也许我的思维过程有问题!我正在测试我用Symfony构建的网站。对于我的组件测试,我创建了扩展WebTestCase的测试类,我的测试有一组如下所示的断言来验证页面标题是否在我想要的位置并包含我期望的内容:$text="PageTitle";$selector="h2#pageHeading";$this->assertEquals(1,$crawler->filter($selector)->count(),"Foundwrongnumberofelementsusing

php - 如何在单元测试(PHPUnit)中的 trigger_error(..., E_USER_WARNING) 之后执行代码?

我有这样的代码:classToBeTested{functionsimpleMethod($param){if(0===$param){trigger_error("Paramis0!",E_USER_WARNING);returnfalse;}returntrue;}}并测试这段代码:classSimpleTestextendsPHPUnit_Framework_TestCase{functiontestSimpleMethod(){$toBeTestedObject=newToBeTested();$this->assertFalse($toBeTestedObject->simp

php - 模拟 Laravel Controller 依赖

在我的Laravel应用程序中,我有一个带有显示特定资源方法的Controller。例如。假设url是/widgets/26我的Controller方法可能会像这样工作:ClassWidgetsController{protected$widgets;publicfunction__construct(WidgetsRepository$widgets){$this->widgets=$widgets;}publicfunctionshow($id){$widget=$this->widgets->find($id);returnview('widgets.show')->with(c

php - 2checkout测试支付模拟

在我的php应用程序中,我正在寻求有关如何使用https://www.2checkout.com/模拟测试支付的帮助。.我有Paypal沙箱使用开发者帐户测试支付的经验。但是在这里2checkout我无法弄清楚。 最佳答案 使用2Checkout,您可以通过在2Checkout帐户的站点管理页面上将模拟帐户设置更改为“开”来进行模拟销售。设置完成后,您将在结帐页面顶部看到一条消息,说明这是一次演示销售。如果您的账户当前用于实时销售,您可以通过将模拟账户设置更改为“参数”来进行模拟销售,然后传入一个值为“Y”的附加“模拟”参数。这样您

php - 模拟 php 数组语言构造或使用正则表达式解析?

从外部来源我得到类似的字符串array(1,2,3)还有一个更大的数组,比如array("a","b","c",array("1","2",array("A","B")),array("3","4"),"d")我需要它们成为php中的实际数组。我知道我可以使用eval但由于它是不受信任的来源,我宁愿不这样做。我也无法控制外部资源。我应该为此使用一些正则表达式(如果是,是什么)还是有其他方法? 最佳答案 虽然使用Tokenizer编写解析器并不像我预期的那么容易,但我想到了另一个想法:为什么不使用eval解析数组,但首先要验证它不包含

php - 没有在 PHPUnit 中运行一些测试?

我不想有时为了节省时间而运行所有测试。我知道我可以评论测试。但是这种方法并不优雅。我想知道是否有一些简单的方法可以做到这一点。感谢所有建议。感谢您的宝贵时间和最诚挚的问候,盒子他 最佳答案 phpunitcommandlinetestrunner有--filter参数,它是一个匹配执行的测试用例名称的正则表达式。假设,您需要排除名称中包含“Foo”的所有测试用例。然后,使用:--filter/^(?:(?!Foo).)*$/ 关于php-没有在PHPUnit中运行一些测试?,我们在Sta

【新2023Q2模拟题JAVA】华为OD机试 - 绘图机器

最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理已参加机试人员的实战技巧本篇题解:绘图机器题目绘图机器的绘图笔初始位置在原点(0,0),机器启动后按照以下规则来进行绘制直线尝试沿着横线坐标正向绘制直线,直到给定的终点E期间可以通过指令在纵坐标轴方向进行偏移offsetY为正数表示正向偏移,为负数表示负向偏移,给定的横坐标终点值E以及若干条绘制指令,请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积

php - 如何使用 PHPUnit 获得 100% 的代码覆盖率

我正在编写ZendFramework应用程序并使用PHPUnit对其进行单元测试。总的来说,事情进展顺利,但我有一个小但烦人的PHPUnit和代码覆盖问题-它有时会告诉我特定行未测试,我不知道如何强制对其进行测试。例如,在下面的代码中,我启动了两个测试:一个带有GET请求,一个带有POST请求。测试通过,一切都很好。然而,当我查看代码覆盖率时,它显示“else”行没有执行。publicfunctioneditAction(){if($request->isPost()){//doactionsrelatedtoPOST}else{//doactionrelatedtoGET}}有什么想

php - 在实例化自己对象的函数内部使用 PHP 中的模拟对象

我一直在研究如何将单元测试覆盖范围添加到用PHP编写的大型现有代码库中。静态类和可实例化类中的许多函数调用库或实例化对象以获得与内存缓存和数据库的连接。它们通常看起来像这样:publicfunctiongetSomeData(){$key="SomeMemcacheKey";$cache=get_memcache();$results=$cache->get($key);if(!$results){$database=newDatabaseObject();$sql="SELECT*fromsomeDatabase.someTable";$results=$database->quer